package com.wyh.service.groupOne.contractManagement;

import com.wyh.common.result.Result;
import com.wyh.domain.po.groupOne.contractManagement.MasterDataContract;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wyh.domain.vo.groupOne.contractManagement.ContractAddVO;
import com.wyh.domain.vo.groupOne.contractManagement.ContractChangeVO;
import com.wyh.domain.vo.groupOne.contractManagement.ContractDetailsVO;
import com.wyh.domain.vo.groupOne.contractManagement.MasterDataContractVO;
import com.wyh.domain.vo.groupOne.customer.MasterDataCustomerVO;

import java.util.List;

/**
 * <p>
 * 合同表 服务类
 * </p>
 *
 * @author lsf
 * @since 2024-06-03
 */
public interface MasterDataIContractService extends IService<MasterDataContract> {

    /**
     * 条件分页查询合同
     * @param masterDataContractVO
     * @return
     */
    Result<List<MasterDataContractVO>> contractList(MasterDataContractVO masterDataContractVO);


    /**
     * 详情页
     * @param contractId
     *
     */
    Result<ContractDetailsVO> getContractDetails(Integer contractId);


    /**
     * 详情页编辑
     * @param contractChangeVO
     *
     */
    Result changeContract(ContractChangeVO contractChangeVO);

    /**
     * 作废合同
     * @param id
     * @return
     */
    Result cancleContract(Integer id);

    /**
     * 新增合同
     * @param contractAddVO
     * @return
     */
    Result addContract(ContractAddVO contractAddVO);

    /**
     * 获取新增合同时客户列表
     * @param input
     * @return
     */
    Result<List<MasterDataCustomerVO>> getCustomer(String input);


}
